/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: mac
 * Date: 2022-09-14
 * Time: 14:33
 */
class A<T> {
    T value;

    A(T value) {
        this.value = value;
    }

    T get() {
        return value;
    }
}
public class MyList {
    //包装类针对八大基本数据类型
    public static void main(String[] args) {
        A<String> a = new A<>("蔡徐坤");
        System.out.println(a.get());
    }
    public static void main4(String[] args) {
        //why？
        //看源码分析范围-128 ~ 127
        Integer a1 = 123;
        Integer b1 = 123;
        System.out.println(a1 == b1);

        Integer a2 = 128;
        Integer b2 = 128;
        System.out.println(a2 == b2);

    }
    //装包，装箱：简单类型 -> 包装类类型
    //拆箱，拆包：包装类 -> 简单数据类型数据
    public static void main3(String[] args) {
        //隐式转换
        Integer a = 123;//装箱 装包
        int b = a;//拆箱 拆包
        System.out.println(a + " " + b);

        //显式转换
        System.out.println("=============");
        Integer a2 = Integer.valueOf(123);//装包
        Integer a3 = new Integer(123);//装包

        int b2 = a2.intValue();//拆包
        double d = a2.doubleValue();//拆包
    }
    //包装类 - 对数据进行处理 - 数据类型转换
    public static void main2(String[] args) {
        Integer a = 12345;
        String str = "123";
        int ret = Integer.valueOf(str);
        System.out.println(ret + 1);
    }
    //Object使用
    public static void main1(String[] args) {
        String[] strings = new String[10];
        Object o1 = new String[10];
        Object[] o2 = new String[10];//可以new一个
    }
}
